查看原文
其他

开源软件“围剿”俄罗斯

GoUpSec 2022-10-30


点击蓝字 关注我们            ///

@GoUpSec



俄乌战争的物理战斗正处水深火热的焦灼之中,虚拟空间的网络战也开始逐步升级,根据Cybernow统计的全球黑客组织“参战”统计表,目前已经有Anonymous为代表的近50个黑客组织加入了攻击俄罗斯的行列,而支持俄罗斯的黑客组织也多达25个(下图):



但是,一个更为庞大和重要的群体——开源社区,正在卷入这场战争,给全球数字基础设施和经济带来的潜在威胁也远比“黑帮火拼”要严重得多。


NPM“下毒”,一个危险的先例


最先对俄罗斯下手的开源项目并不出人意料,正是最近因“删库跑路”事件引发开源道德争论的NPM项目(npm开源包faker.js和colors.js项目的作者Marak Squires主动恶意破坏自己的项目并“删库跑路”),但这次NPM的“投毒”原因不再是抱怨开源开发者收入过低,而是抗议俄罗斯入侵乌克兰。


根据开源安全扫描平台Snyk的报告,两周前NPM项目JavaScript库node-ipc的开发人员在新版本的代码中“投毒”,可以检查用户的IP地址。当IP地址来自俄罗斯或白俄罗斯时,新版本会从用户计算机中擦除文件并用心形表情符号替换它们,从而引发严重的供应链安全事故。


为了隐藏这种恶意行为,node-ipc的作者RIAEvangelist(Brandon Nozaki Miller)还对恶意更改进行了base-64编码,使用户难以轻松发现问题所在。


更可怕的是,调查该事件的Snyk发现,node-ipc的作者维护了40个其他库,其中部分或全部也是其他开源包的依赖项,下载量高达数亿。


Snyk指出,虽然这是一种以抗议为动机的攻击,但该事件突出了软件供应链面临的一个更大的问题:代码的传递依赖关系会对您的安全性产生巨大影响。


RIAEvangelist的做法在Twitter和开源论坛上受到业界的猛烈抨击,一些批评意见认为他的做法极大损害了开源社区的声誉和信用。负责调查的安全研究人员Tal指出:这个维护者还会被信任吗?他参与的任何项目都是否面临甚至更极端的威胁?


一位知情人士写道:“这就像特斯拉故意输入代码来检测司机身份,如果与描述模糊匹配,就会遥控特斯拉汽车一头撞上最近的电线杆。”另一位人士补充说:“如果删除的文件是关键任务,严重到可以威胁他人的生命怎么办?”


NGINX开启“地图炮”封杀俄罗斯程序员


NGINX是全球排名第一的Web服务器软件,也对俄罗斯关上了大门。上周末,F5宣布禁止俄罗斯开发者作为贡献者为NGINX项目提交代码并暂停了在俄罗斯的所有销售活动,禁止俄罗斯访问F5网络。


NGINX的创立者实际上是俄罗斯人。是俄罗斯程序员Igor Sysoev为俄罗斯访问量第二的Rambler.ru网站开发的,并在2004年开源了NGINX代码。


2009年Igor Sysoev在美国创立同名公司为NGINX项目提供支持服务。F5在2019年以6.7亿美元收购了Nginx,同年12月,Rambler集团对NGINX公司提起版权侵犯诉讼,俄罗斯警方突击搜查了NGINX的莫斯科办事处并逮捕了Sysoev。随后,拥有Rambler 46.5%股份的俄罗斯国有银行Sberbank批评了Rambler的做法,后者随即放弃了对Nginx的刑事诉讼。


颇具讽刺意味的是,今年2月俄乌战争打响的时候,有国外网友开在Reddit的NGINX频道上发帖要求抵制NGINX,理由是该软件是在俄罗斯这片土地上开发的。


三十个开源项目加入“围剿”


截至本文发稿,根据俄罗斯研究小组维护的一个开源“抗议软件”清单(链接在文末),目前已经有多达30个开源项目加入了对俄罗斯的抵制,其中甚至包括亚马逊(AWS Terraform modules)和Oracle等科技巨头的项目,也不乏MongoDB、pnpm、es5-ext、Drupal、RedisDesktopManager等流行项目(下图):



上述开源项目的抗议方式多种多样,包括数据和代码库销毁、加载恶意软件勒索软件、DDoS攻击、植入后门等高危行为到屏蔽俄罗斯开发者或者显示政治标语等中低烈度的抗议行为。


甚至两年多没更新的流行库ES5-ext也在3月7日添加了一个组件“postinstall.js”,它会检查用户的计算机是否与俄罗斯互联网地址相关联。如果是这样,代码会广播“把俄罗斯还给人民”的和平呼吁(下图):



加入抗议软件行列的最危险的项目,显然是那些来自乌克兰开发者维护的项目。土生土长的乌克兰人亚历克斯·霍尔登(Alex Holden)经营着位于密尔沃基的一家网络情报公司Hold Security。他表示,当抗议软件被包含在由无数第三方软件产品自动获取的代码包中时,真正的麻烦就开始了,俄罗斯研究小组跟踪的一些代码项目是由乌克兰软件开发人员维护的。


“乌克兰和非乌克兰开发人员正在修改他们的公共软件,以在部署到俄罗斯计算机上时触发恶意软件或支持乌克兰的广告。”霍尔顿说,“我们看到了这种尝试,这也是俄罗斯人极力试图防御的。”


开源政治化的潘多拉盒子已经打开


在反俄评论添加到“Vue-cli”应用程序中的恶意代码时,GitHub用户“nm17”表示,抗议软件的持续扩张将削弱公众对开源软件的信任。


NM17写道:“潘多拉的盒子现在已经打开了,从现在开始,使用开源的人将比以往任何时候都更容易感受到仇外心理,包括每个人。基于开发人员性本善的开源信任现在已经不复存在。现在,越来越多的人意识到有一天,他们的库/应用程序可能会被利用来做/说任何随机的事情,因为互联网上的开源开发人员认为‘他们这样做是正确的’。这次‘抗议’不会带来任何好处。”


参考链接:

https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/


END


相关阅读

俄罗斯面临存储荒,两个月内将耗尽存储空间
俄罗斯网络安全行业面临制裁危机

警惕俄罗斯乌克兰网络战的“黑帮化”


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存